<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <!-- 
        适用场景：一个网站，有好几个模块都需要获取用户信息后，进行渲染显示。在未用此种设计模式之前，我们会想着在获取用户信息的ajax成功回调函数中，写代码，渲染各个模块。但是这样做会导致，我们新增一个模块，需要去修改之前ajax的回调函数，加入新增部分的处理。而一个团队中，可能ajax回调函数部分是同事A做的，而新增模块是同事B负责的，其实B具体要做什么事情，A并不需要知道，A只需要告诉你，我已经拿到用户信息了，你们想干嘛就干嘛吧。那么这时候A提供出一个接口供其他需要它的人来订阅，在A完成任务后，告诉之前这些跟它打过招呼的模块，我把这些对你们有用信息传给你们，具体后续的事情由你们自己来决定。这就是发布-订阅模式 
    -->
</body>

</html>